time.h
হেডার ফাইল এবং এর ফাংশনসমূহtime.h
হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় সময় এবং তারিখ (Date and Time) সম্পর্কিত কাজের জন্য ব্যবহৃত হয়। এর মাধ্যমে প্রোগ্রামাররা বর্তমান সময় ও তারিখ নির্ধারণ, সময়ের হিসাব রাখা, এবং প্রোগ্রামিং কাজের টাইমিং পরিচালনা করতে পারেন।
এখানে time.h
হেডার ফাইলের কিছু গুরুত্বপূর্ণ ফাংশন এবং তাদের ব্যাখ্যা দেওয়া হলো:
time()
– বর্তমান সময় নির্ণয়time()
ফাংশনটি বর্তমান সময়কে time_t
টাইপের একটি ভেরিয়েবলে রিটার্ন করে, যা UNIX epoch (1970 সালের 1 জানুয়ারি, 00:00:00 UTC) থেকে শুরু করে বর্তমান পর্যন্ত কতো সেকেন্ড পার হয়েছে তার মান প্রকাশ করে।
time_t time(time_t *seconds);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time;
current_time = time(NULL); // বর্তমান সময় গ্রহণ
printf("Current time in seconds since Epoch: %ld\n", current_time);
return 0;
}
clock()
– প্রোগ্রাম চালানোর সময় নির্ধারণclock()
ফাংশনটি প্রোগ্রাম চালু হওয়ার পর থেকে CPU-এর কতো সময় (clock ticks) অতিবাহিত হয়েছে, তা নির্ধারণ করে। এটি সাধারণত প্রোগ্রামের কার্যকারিতা বিশ্লেষণের জন্য ব্যবহৃত হয়।
clock_t clock(void);
#include <stdio.h>
#include <time.h>
int main() {
clock_t start, end;
double cpu_time_used;
start = clock();
// কোড যা সময় নিতে পারে
for (long i = 0; i < 1000000; i++);
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("CPU time used: %f seconds\n", cpu_time_used);
return 0;
}
difftime()
– সময়ের পার্থক্য নির্ণয়difftime()
ফাংশনটি দুটি time_t
টাইপের সময়ের মধ্যে পার্থক্য নির্ণয় করে এবং এটি সেকেন্ডে রিটার্ন করে।
double difftime(time_t end, time_t start);
#include <stdio.h>
#include <time.h>
int main() {
time_t start, end;
start = time(NULL);
// কিছু কাজ যা সময় নিতে পারে
for (long i = 0; i < 1000000; i++);
end = time(NULL);
printf("Time difference: %.2f seconds\n", difftime(end, start));
return 0;
}
mktime()
– গঠনমূলক সময়কে time_t
টাইপে রূপান্তর করাmktime()
ফাংশনটি struct tm
টাইপের একটি গঠনমূলক সময়কে time_t
টাইপে রূপান্তর করে, যা epoch সময়ের সেকেন্ড রিটার্ন করে।
time_t mktime(struct tm *timeptr);
#include <stdio.h>
#include <time.h>
int main() {
struct tm timeinfo = {0};
timeinfo.tm_year = 2023 - 1900;
timeinfo.tm_mon = 11 - 1;
timeinfo.tm_mday = 10;
time_t timestamp = mktime(&timeinfo);
printf("Timestamp for 2023-11-10: %ld\n", timestamp);
return 0;
}
asctime()
– গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করাasctime()
ফাংশনটি struct tm
টাইপের একটি গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করে। এটি সপ্তাহের দিন, মাস, দিন, সময় এবং বছর সহ স্ট্রিং রিটার্ন করে।
char *asctime(const struct tm *timeptr);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time = time(NULL);
struct tm *timeinfo = localtime(¤t_time);
printf("Current time: %s", asctime(timeinfo));
return 0;
}
ctime()
– সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করাctime()
ফাংশনটি time_t
টাইপের সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর করে। এটি asctime()
এর মতোই কাজ করে, তবে time_t
টাইপকে সরাসরি রূপান্তর করে।
char *ctime(const time_t *time);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time = time(NULL);
printf("Current time: %s", ctime(¤t_time));
return 0;
}
strftime()
– সময় এবং তারিখ ফরম্যাট করাstrftime()
ফাংশনটি সময় এবং তারিখকে নির্দিষ্ট ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়।
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time = time(NULL);
struct tm *timeinfo = localtime(¤t_time);
char buffer[80];
strftime(buffer, sizeof(buffer), "Date: %Y-%m-%d, Time: %H:%M:%S", timeinfo);
printf("%s\n", buffer);
return 0;
}
ফরম্যাট কোড:
%Y
– পূর্ণ বছর (e.g., 2023)%m
– মাস (01-12)%d
– দিন (01-31)%H
– ঘন্টা (00-23)%M
– মিনিট (00-59)%S
– সেকেন্ড (00-59)localtime()
– time_t
থেকে স্থানীয় সময়ে রূপান্তর করাlocaltime()
ফাংশনটি time_t
টাইপের সময়কে স্থানীয় সময় অনুযায়ী struct tm
টাইপে রূপান্তর করে।
struct tm *localtime(const time_t *time);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time = time(NULL);
struct tm *timeinfo = localtime(¤t_time);
printf("Year: %d\n", timeinfo->tm_year + 1900);
printf("Month: %d\n", timeinfo->tm_mon + 1);
printf("Day: %d\n", timeinfo->tm_mday);
return 0;
}
gmtime()
– time_t
থেকে UTC সময়ে রূপান্তর করাgmtime()
ফাংশনটি time_t
টাইপের সময়কে UTC (Coordinated Universal Time) সময় অনুযায়ী struct tm
টাইপে রূপান্তর করে।
struct tm *gmtime(const time_t *time);
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time = time(NULL);
struct tm *timeinfo = gmtime(¤t_time);
printf("UTC Year: %d\n", timeinfo->tm_year + 1900);
printf("UTC Month: %d\n", timeinfo->tm_mon + 1);
printf("UTC Day: %d\n", timeinfo->tm_mday);
return 0;
}
ফাংশন | কাজ | উদাহরণ |
---|---|---|
time() | বর্তমান সময় নির্ণয় | time_t current = time(NULL); |
clock() | প্রোগ্রাম চালানোর সময় নির্ধারণ | clock_t c = clock(); |
difftime() | দুটি সময়ের মধ্যে পার্থক্য নির্ণয় | difftime(end, start); |
mktime() | গঠনমূলক সময়কে time_t টাইপে রূপান্তর | mktime(&timeinfo); |
asctime() | গঠনমূলক সময়কে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর | asctime(&timeinfo); |
ctime() | time_t টাইপকে পাঠযোগ্য স্ট্রিংয়ে রূপান্তর | ctime(¤t); |
strftime() | সময় এবং তারিখ ফরম্যাট করা | strftime(buffer, size, format, &time); |
localtime() | time_t থেকে স্থানীয় সময়ে রূপান্তর | localtime(¤t); |
gmtime() | time_t থেকে UTC সময়ে রূপান্তর | gmtime(¤t); |
time.h
হেডার ফাইলটি সি প্রোগ্রামিংয়ে সময় এবং তারিখ সম্পর্কিত কাজগুলো সহজে সম্পন্ন করার জন্য গুরুত্বপূর্ণ। এর মাধ্যমে বর্তমান সময়, তারিখ নির্ধারণ এবং সময়ের পার্থক্য মাপা সহ আরও অনেক কার্যকর কাজ করা যায়।
common.read_more